package com.ruoyi.lxgl.lxwj.mapper;

import java.util.List;
import com.ruoyi.lxgl.lxwj.domain.LxglLxwj;
import com.ruoyi.lxgl.lxwj.domain.LxglLxwjFj;
import com.ruoyi.lxgl.lxwj.domain.LxglLxwjKtxx;

/**
 * 立项文件Mapper接口
 *
 * @author huacai
 * @date 2024-06-26
 */
public interface LxglLxwjMapper
{
    /**
     * 查询立项文件
     *
     * @param lxwjId 立项文件主键
     * @return 立项文件
     */
    public LxglLxwj selectLxglLxwjByLxwjId(String lxwjId);

    /**
     * 查询立项文件列表
     *
     * @param lxglLxwj 立项文件
     * @return 立项文件集合
     */
    public List<LxglLxwj> selectLxglLxwjList(LxglLxwj lxglLxwj);

    /**
     * 新增立项文件
     *
     * @param lxglLxwj 立项文件
     * @return 结果
     */
    public int insertLxglLxwj(LxglLxwj lxglLxwj);

    /**
     * 修改立项文件
     *
     * @param lxglLxwj 立项文件
     * @return 结果
     */
    public int updateLxglLxwj(LxglLxwj lxglLxwj);

    /**
     * 删除立项文件
     *
     * @param lxwjId 立项文件主键
     * @return 结果
     */
    public int deleteLxglLxwjByLxwjId(String lxwjId);

    /**
     * 批量删除立项文件
     *
     * @param lxwjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLxglLxwjByLxwjIds(String[] lxwjIds);

    /**
     * 批量删除立项文件附件
     *
     * @param lxwjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLxglLxwjFjByLxwjIds(String[] lxwjIds);

    /**
     * 批量新增立项文件附件
     *
     * @param lxglLxwjFjList 立项文件附件列表
     * @return 结果
     */
    public int batchLxglLxwjFj(List<LxglLxwjFj> lxglLxwjFjList);


    /**
     * 通过立项文件主键删除立项文件附件信息
     *
     * @param lxwjId 立项文件ID
     * @return 结果
     */
    public int deleteLxglLxwjFjByLxwjId(String lxwjId);

    /**
     * 新增立项文件附件
     * @param lxglLxwjFj
     * @return
     */
    int insertLxglLxwjFjByLxwjId(LxglLxwjFj lxglLxwjFj);

    /**
     * 根据主表ID查询附件列表
     * @param lxglLxwjFj
     * @return
     */
    List<LxglLxwjFj> selectLxglLxwjFjList(LxglLxwjFj lxglLxwjFj);

    /**
     * 批量删除立项文件-课题信息
     *
     * @param lxwjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLxglLxwjKtxxByLxwjIds(String[] lxwjIds);

    /**
     * 批量新增立项文件-课题信息
     *
     * @param lxglLxwjKtxxList 立项文件-课题信息列表
     * @return 结果
     */
    public int batchLxglLxwjKtxx(List<LxglLxwjKtxx> lxglLxwjKtxxList);


    /**
     * 通过立项文件主键删除立项文件-课题信息信息
     *
     * @param lxwjId 立项文件ID
     * @return 结果
     */
    public int deleteLxglLxwjKtxxByLxwjId(String lxwjId);

    /**
     * 获取立项文件-课题信息详细信息
     * @param lxwjId
     * @return
     */
    LxglLxwj selectLxwjLxxxByLxwjId(String lxwjId);

    /**
     * 批量删除立项文件附件
     *
     * @param fjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLxglLxwjFjByFjIds(Integer[] fjIds);
}
